//		文件上传，第一个参数是标签，第二个参数是回调参数
function excelUpload(e, callback) {
  let result = {data:[],name:null,size:null};// 存储获取到的数据
  let files = e.target.files;
  let fileReader = new FileReader();

  fileReader.onload = function (ev) {
    try {
      let file = ev.target.result;
      var workbook = XLSX.read(btoa(file), {type: 'base64'}) // 以二进制流方式读取得到整份excel表格对象
    } catch (e) {
      throw new Error('文件类型不正确')
    }

    // 表格的表格范围，可用于判断表头是否数量是否正确
    let fromTo = '';
    // 遍历每张表读取
    for (let sheet in workbook.Sheets) {
      if (workbook.Sheets.hasOwnProperty(sheet)) {
        fromTo = workbook.Sheets[sheet]['!ref'];
        result.data = result.data.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
        break; // 如果只取第一张表，就取消注释这行
      }
    }

    // 文件内容
    result.data = JSON.parse(JSON.stringify(result.data));
    // 文件大小
    result.size = (files[0]['size'] / 1024 < 1024) ? (parseInt(files[0]['size'] / 1024 * 10) / 10 + 'KB') : (parseInt(files[0]['size'] / (1024 * 1024) * 10) / 10 + 'MB');
    // 文件名称
    result.name = files[0]['name'];
    // 回调函数执行
    callback(result);
  };
  // 以二进制方式打开文件
  if (files[0]) {
    fileReader.readAsBinaryString(files[0]);
  }
}